今天要講的這個東西在各APP都還蠻常看到的,就是按兩下Back離開程式,
我在我自己的APP中會設計這個,主要是因為使用者常常會不小心去點到Back鍵而離開程式,
另外一提,Home鍵是不可卡的,好像是因為Android怕會有成是當機導致整個系統被影響的緣故
總之好處多多,那就來動手做做看囉!
這邊的設計邏輯是這樣,如果按下第一下Back,偵測它是否要退出了,如果沒有,
則記錄下次按下Back要退出,並在2秒內要完成。
  private static Boolean isExit = false;
  private static Boolean hasTask = false;
 
  Timer timerExit = new Timer();
  TimerTask task = new TimerTask() {
       @Override
       public void run() {
           isExit = false;
           hasTask = true;
       }
  };
 
  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
	  // 判斷是否按下Back
        if (keyCode == KeyEvent.KEYCODE_BACK) {
	     // 是否要退出
           if(isExit == false ) {
                 isExit = true; //記錄下一次要退出
                 Toast.makeText(this, "再按一次Back退出APP"
                      , Toast.LENGTH_SHORT).show();
		   // 如果超過兩秒則恢復預設值		   
                 if(!hasTask) {
                      timerExit.schedule(task, 2000);
                 }
           } else {
                finish(); // 離開程式
                System.exit(0);
           }
        }
        return false;
  }
那今天就到這邊囉~我們明天見啦~~